<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/MiniStock.Entities.Customer.Events" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/MiniStock.Entities.Customer.Events" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:999/?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import schemaLocation="http://localhost:999/?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/MiniStock.Entities.Common.Events" />
  <xs:import schemaLocation="http://localhost:999/?xsd=xsd4" namespace="http://schemas.datacontract.org/2004/07/MiniStock.Entities.Customer" />
  <xs:complexType name="CustomerEventBase">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/MiniStock.Entities.Common.Events" base="q1:EntityEventBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="Id" type="ser:guid" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CustomerEventBase" nillable="true" type="tns:CustomerEventBase" />
  <xs:complexType name="ChangeHQAddressEvent">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AddressChangeEvent">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ChangeHQAddressEvent" nillable="true" type="tns:ChangeHQAddressEvent" />
  <xs:complexType name="AddressChangeEvent">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:CustomerEventBase">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="AddressChangeEvent" nillable="true" type="tns:AddressChangeEvent" />
  <xs:complexType name="ChangeCustomerNameEvent">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:CustomerEventBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="NewName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ChangeCustomerNameEvent" nillable="true" type="tns:ChangeCustomerNameEvent" />
  <xs:complexType name="CreateCustomerEvent">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:CustomerEventBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="NewName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CreateCustomerEvent" nillable="true" type="tns:CreateCustomerEvent" />
  <xs:complexType name="ChangeShippingAddressEvent">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AddressChangeEvent">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ChangeShippingAddressEvent" nillable="true" type="tns:ChangeShippingAddressEvent" />
  <xs:complexType name="ChangeContactPersonEvent">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:CustomerEventBase">
        <xs:sequence>
          <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/MiniStock.Entities.Customer" minOccurs="0" name="NewContactPerson" nillable="true" type="q2:ContactPerson" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ChangeContactPersonEvent" nillable="true" type="tns:ChangeContactPersonEvent" />
</xs:schema>